汇编语言里的 "$" 是什么意思?怎么用?

来源:百度知道 编辑:UC知道 时间:2024/05/23 13:51:00

$: 为地址运算符,属伪操作指令。当我们需要汇编编译器自动计算出数组大小的时候,可能就会用到当前地址计数器$运算符了,MASM用$运算符返回当前程序语句的地址偏移值,利用该数值,我们可以计算出数组的长度。
例如:
xxx BYTE 10,20,30,40,50
xxxlen = $ - xxx
则常量xxxlen就是数组list的长度值了(=5)。
上句的意思是:当前地址减去变量xxx的地址,即为5。

$在汇编中代表它所在指令的地址,例如
0060H SJMP $
就是跳转到$,而它编译时自动变为本行地址0060H,运行时就跳转回这行,即不断重复运行

数据段偏移地址